rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
REV12(x, ++2(y, z)) -> REV12(y, z)
REV1(++2(x, y)) -> REV12(x, y)
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
REV1(++2(x, y)) -> REV22(x, y)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV12(x, ++2(y, z)) -> REV12(y, z)
REV1(++2(x, y)) -> REV12(x, y)
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
REV1(++2(x, y)) -> REV22(x, y)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
REV12(x, ++2(y, z)) -> REV12(y, z)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV12(x, ++2(y, z)) -> REV12(y, z)
POL(++2(x1, x2)) = 1 + 2·x2
POL(REV12(x1, x2)) = 2·x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
REV1(++2(x, y)) -> REV22(x, y)
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV22(x, ++2(y, z)) -> REV22(y, z)
REV22(x, ++2(y, z)) -> REV1(rev22(y, z))
REV1(++2(x, y)) -> REV22(x, y)
Used ordering: Polynomial interpretation [21]:
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
POL(++2(x1, x2)) = 1 + 2·x2
POL(REV1(x1)) = 2·x1
POL(REV22(x1, x2)) = 2·x2
POL(nil) = 0
POL(rev1(x1)) = x1
POL(rev12(x1, x2)) = 0
POL(rev22(x1, x2)) = x2
rev22(x, nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))
rev1(nil) -> nil
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
REV22(x, ++2(y, z)) -> REV1(++2(x, rev1(rev22(y, z))))
rev1(nil) -> nil
rev1(++2(x, y)) -> ++2(rev12(x, y), rev22(x, y))
rev12(x, nil) -> x
rev12(x, ++2(y, z)) -> rev12(y, z)
rev22(x, nil) -> nil
rev22(x, ++2(y, z)) -> rev1(++2(x, rev1(rev22(y, z))))